package com.childenglish.validation;

import javax.validation.Constraint;
import javax.validation.Payload;
import java.lang.annotation.*;

/**
 * 加密模式匹配验证注解
 * 验证加密后的字段格式（先解密再验证）
 */
@Target({ElementType.FIELD, ElementType.PARAMETER})
@Retention(RetentionPolicy.RUNTIME)
@Constraint(validatedBy = EncryptedPatternValidator.class)
@Documented
public @interface EncryptedPattern {
    String message() default "格式不正确";
    
    Class<?>[] groups() default {};
    
    Class<? extends Payload>[] payload() default {};
    
    /**
     * 正则表达式
     */
    String regexp();
    
    /**
     * 正则表达式标志
     */
    javax.validation.constraints.Pattern.Flag[] flags() default {};
}

